package com.ymttest.database.mapping.thirdpartysync;

import com.ymttest.database.model.thirdpartysync.fenqilesku;
import com.ymttest.database.model.thirdpartysync.fenqileskuExample;
import java.util.List;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.DeleteProvider;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.InsertProvider;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.Update;
import org.apache.ibatis.annotations.UpdateProvider;
import org.apache.ibatis.type.JdbcType;

public interface fenqileskuMapper {
    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table fenqilesku
     *
     * @mbggenerated Mon Nov 04 17:06:41 CST 2019
     */
    @SelectProvider(type=fenqileskuSqlProvider.class, method="countByExample")
    int countByExample(fenqileskuExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table fenqilesku
     *
     * @mbggenerated Mon Nov 04 17:06:41 CST 2019
     */
    @DeleteProvider(type=fenqileskuSqlProvider.class, method="deleteByExample")
    int deleteByExample(fenqileskuExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table fenqilesku
     *
     * @mbggenerated Mon Nov 04 17:06:41 CST 2019
     */
    @Delete({
        "delete from fenqilesku",
        "where Id = #{id,jdbcType=INTEGER}"
    })
    int deleteByPrimaryKey(Integer id);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table fenqilesku
     *
     * @mbggenerated Mon Nov 04 17:06:41 CST 2019
     */
    @Insert({
        "insert into fenqilesku (Id, YmtSkuId, ",
        "YmtProductId, YmtSellerId, ",
        "FqlProductId, FqlSkuId, ",
        "FqlShopId, YmtPrice, ",
        "FqlPrice, YmtStock, ",
        "SyncStatus, Action, ",
        "CreateTime, UpdateTime)",
        "values (#{id,jdbcType=INTEGER}, #{ymtSkuId,jdbcType=VARCHAR}, ",
        "#{ymtProductId,jdbcType=VARCHAR}, #{ymtSellerId,jdbcType=INTEGER}, ",
        "#{fqlProductId,jdbcType=VARCHAR}, #{fqlSkuId,jdbcType=VARCHAR}, ",
        "#{fqlShopId,jdbcType=INTEGER}, #{ymtPrice,jdbcType=DECIMAL}, ",
        "#{fqlPrice,jdbcType=DECIMAL}, #{ymtStock,jdbcType=VARCHAR}, ",
        "#{syncStatus,jdbcType=INTEGER}, #{action,jdbcType=INTEGER}, ",
        "#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP})"
    })
    int insert(fenqilesku record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table fenqilesku
     *
     * @mbggenerated Mon Nov 04 17:06:41 CST 2019
     */
    @InsertProvider(type=fenqileskuSqlProvider.class, method="insertSelective")
    int insertSelective(fenqilesku record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table fenqilesku
     *
     * @mbggenerated Mon Nov 04 17:06:41 CST 2019
     */
    @SelectProvider(type=fenqileskuSqlProvider.class, method="selectByExample")
    @Results({
        @Result(column="Id", property="id", jdbcType=JdbcType.INTEGER, id=true),
        @Result(column="YmtSkuId", property="ymtSkuId", jdbcType=JdbcType.VARCHAR),
        @Result(column="YmtProductId", property="ymtProductId", jdbcType=JdbcType.VARCHAR),
        @Result(column="YmtSellerId", property="ymtSellerId", jdbcType=JdbcType.INTEGER),
        @Result(column="FqlProductId", property="fqlProductId", jdbcType=JdbcType.VARCHAR),
        @Result(column="FqlSkuId", property="fqlSkuId", jdbcType=JdbcType.VARCHAR),
        @Result(column="FqlShopId", property="fqlShopId", jdbcType=JdbcType.INTEGER),
        @Result(column="YmtPrice", property="ymtPrice", jdbcType=JdbcType.DECIMAL),
        @Result(column="FqlPrice", property="fqlPrice", jdbcType=JdbcType.DECIMAL),
        @Result(column="YmtStock", property="ymtStock", jdbcType=JdbcType.VARCHAR),
        @Result(column="SyncStatus", property="syncStatus", jdbcType=JdbcType.INTEGER),
        @Result(column="Action", property="action", jdbcType=JdbcType.INTEGER),
        @Result(column="CreateTime", property="createTime", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="UpdateTime", property="updateTime", jdbcType=JdbcType.TIMESTAMP)
    })
    List<fenqilesku> selectByExample(fenqileskuExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table fenqilesku
     *
     * @mbggenerated Mon Nov 04 17:06:41 CST 2019
     */
    @Select({
        "select",
        "Id, YmtSkuId, YmtProductId, YmtSellerId, FqlProductId, FqlSkuId, FqlShopId, ",
        "YmtPrice, FqlPrice, YmtStock, SyncStatus, Action, CreateTime, UpdateTime",
        "from fenqilesku",
        "where Id = #{id,jdbcType=INTEGER}"
    })
    @Results({
        @Result(column="Id", property="id", jdbcType=JdbcType.INTEGER, id=true),
        @Result(column="YmtSkuId", property="ymtSkuId", jdbcType=JdbcType.VARCHAR),
        @Result(column="YmtProductId", property="ymtProductId", jdbcType=JdbcType.VARCHAR),
        @Result(column="YmtSellerId", property="ymtSellerId", jdbcType=JdbcType.INTEGER),
        @Result(column="FqlProductId", property="fqlProductId", jdbcType=JdbcType.VARCHAR),
        @Result(column="FqlSkuId", property="fqlSkuId", jdbcType=JdbcType.VARCHAR),
        @Result(column="FqlShopId", property="fqlShopId", jdbcType=JdbcType.INTEGER),
        @Result(column="YmtPrice", property="ymtPrice", jdbcType=JdbcType.DECIMAL),
        @Result(column="FqlPrice", property="fqlPrice", jdbcType=JdbcType.DECIMAL),
        @Result(column="YmtStock", property="ymtStock", jdbcType=JdbcType.VARCHAR),
        @Result(column="SyncStatus", property="syncStatus", jdbcType=JdbcType.INTEGER),
        @Result(column="Action", property="action", jdbcType=JdbcType.INTEGER),
        @Result(column="CreateTime", property="createTime", jdbcType=JdbcType.TIMESTAMP),
        @Result(column="UpdateTime", property="updateTime", jdbcType=JdbcType.TIMESTAMP)
    })
    fenqilesku selectByPrimaryKey(Integer id);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table fenqilesku
     *
     * @mbggenerated Mon Nov 04 17:06:41 CST 2019
     */
    @UpdateProvider(type=fenqileskuSqlProvider.class, method="updateByExampleSelective")
    int updateByExampleSelective(@Param("record") fenqilesku record, @Param("example") fenqileskuExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table fenqilesku
     *
     * @mbggenerated Mon Nov 04 17:06:41 CST 2019
     */
    @UpdateProvider(type=fenqileskuSqlProvider.class, method="updateByExample")
    int updateByExample(@Param("record") fenqilesku record, @Param("example") fenqileskuExample example);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table fenqilesku
     *
     * @mbggenerated Mon Nov 04 17:06:41 CST 2019
     */
    @UpdateProvider(type=fenqileskuSqlProvider.class, method="updateByPrimaryKeySelective")
    int updateByPrimaryKeySelective(fenqilesku record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table fenqilesku
     *
     * @mbggenerated Mon Nov 04 17:06:41 CST 2019
     */
    @Update({
        "update fenqilesku",
        "set YmtSkuId = #{ymtSkuId,jdbcType=VARCHAR},",
          "YmtProductId = #{ymtProductId,jdbcType=VARCHAR},",
          "YmtSellerId = #{ymtSellerId,jdbcType=INTEGER},",
          "FqlProductId = #{fqlProductId,jdbcType=VARCHAR},",
          "FqlSkuId = #{fqlSkuId,jdbcType=VARCHAR},",
          "FqlShopId = #{fqlShopId,jdbcType=INTEGER},",
          "YmtPrice = #{ymtPrice,jdbcType=DECIMAL},",
          "FqlPrice = #{fqlPrice,jdbcType=DECIMAL},",
          "YmtStock = #{ymtStock,jdbcType=VARCHAR},",
          "SyncStatus = #{syncStatus,jdbcType=INTEGER},",
          "Action = #{action,jdbcType=INTEGER},",
          "CreateTime = #{createTime,jdbcType=TIMESTAMP},",
          "UpdateTime = #{updateTime,jdbcType=TIMESTAMP}",
        "where Id = #{id,jdbcType=INTEGER}"
    })
    int updateByPrimaryKey(fenqilesku record);
}